Mobile computing devices, such as cellular telephones, have become commonplace in modern times. Telecommunications companies are constantly expanding the functionality of mobile devices. As a result, new applications to be used with cellular telephones are tested using wireless networks.
Cellular telephone application development and testing is typically performed with a computing device, such as a personal computer, coupled to a cellular radio. A radio interface layer (RIL) driver provides an interface between system software in the computing device and the cellular radio. The RIL receives requests from protocol layers in the computing device and then sends commands and data to the cellular radio. The cellular radio transmits signals to the wireless network to perform the function requested by the computing device, such as making a telephone call. The cellular radio then receives responses to the commands from the network. The RIL driver passes the received responses and data from the cellular radio back to the protocol layers. The RIL also notifies the computing device of changes in cellular radio status.
The RIL driver is difficult to test because the cellular radio is unreliable and unstable. The cellular radio often skews test results. Furthermore, the cellular radio commonly crashes during testing. Another problem that arises during testing involves the network itself. For example, a wireless network may become over-congested during testing such that inaccurate results may be produced.